package main

import (
	"fmt"
	"strconv"
)

func main() {
	// strconv 字符串转换工具类

	// 转float
	f, _ := strconv.ParseFloat("1.234", 64)
	fmt.Println(f) // 1.234

	// 转int，第二个参数：10进制，第三个参数：64位
	n, _ := strconv.ParseInt("111", 10, 64)
	fmt.Println(n) // 111

	// 也可以转16进制, 1*16^3 + 0*16^2 + 0*16^1 + 0*16^0 = 16^3
	// 第二个参数：0表示自动判断进制（0x开头是解析16进制，0开头是解析8进制，其它解析10进制）
	n, _ = strconv.ParseInt("0x1000", 0, 64)
	fmt.Println(n) // 4096

	// 字符串转int（10进制）
	n2, _ := strconv.Atoi("123")
	fmt.Println(n2) // 123

	n2, err := strconv.Atoi("AAA")
	fmt.Println(n2, err) // 0 strconv.Atoi: parsing "AAA": invalid syntax

}
